package com.example.academic_affairs_system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.academic_affairs_system.common.RPage;
import com.example.academic_affairs_system.model.dto.classCourses.ClassCoursesDTO;
import com.example.academic_affairs_system.model.dto.classCourses.ClassCoursesPageDTO;
import com.example.academic_affairs_system.model.entity.AasCourses;
import com.example.academic_affairs_system.model.vo.courses.CoursesVO;

import java.util.List;

/**
 * 课程表 服务类
 *
 * @author hjx
 * @since 2023-01-31
 */
public interface IAasCoursesService extends IService<AasCourses> {
  /**
   * 创建课程
   *
   * @return {@link Long} 课程 id
   */
  long createCourses(ClassCoursesDTO dto);
  /**
   * 修改课程
   *
   * @return {@link Integer} 是否修改成功
   */
  int edit(ClassCoursesDTO dto);
  /**
   * 分页获取课程对象
   *
   * @param dto 班级课程分页 dto
   * @return {@link RPage} 课程对象
   */
  RPage<CoursesVO> getCoursesVOPage(ClassCoursesPageDTO dto);

  List<CoursesVO> getDirectorCourses();
}
